﻿using CleanArchitecture.Infrastructure.Entities;
using CleanArchitecture.Infrastructure.Entities.AdminUsers;

namespace CleanArchitecture.Infrastructure.Interfaces.AdminUsers
{
    public partial interface IAdminUserRegistrationService
    {
        /// <summary>
        /// Validate AdminUser
        /// </summary>
        /// <param name="username">Username or email</param>
        /// <param name="password">Password</param>
        /// <returns>Result</returns>
        AdminUser ValidateAdminUser(string username, string password);
        /// <summary>
        /// 
        /// </summary>
        /// <param name="AdminUserId"></param>
        /// <param name="PwdStrong"></param>
        /// <param name="OldPassword"></param>
        /// <param name="NewPassword"></param>
        /// <param name="Format"></param>
        /// <param name="SkipOldPasswordCheck">是否跳过原密码校验：默认校验</param>
        /// <returns></returns>
        bool ChangePassword(int AdminUserId, int PwdStrong, string OldPassword, string NewPassword, EntityEnumConfig.PasswordFormat Format = EntityEnumConfig.PasswordFormat.None, bool SkipOldPasswordCheck=false);
    }
}
